home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Ian & Stuart's Australian Mac 1993 September
/
clonecd
/
September 93.img
/
Archives
/
Mac FAQ
/
Prograph CPX FAQ
< prev
next >
Wrap
Text File
|
1993-10-03
|
10KB
|
219 lines
Sunday, 12 September 1993 1:11:46 PM
DevNet News Item
From: Erik J. Gjovik,Mac-HACers
Subject: Prograph CPX FAQ
To: DevNet News
CPX Q&A, 1.1, 7 Sep 93
Prograph CPX was introduced at the 1st Annual Prographers Conference in
Halifax, NS, Aug 25-28. The following covers some Prograph CPX Questions &
Answers. I'll post revised versions as necessary till the Q and A stabilize -
send me your Qs.
-- Mark Szpakowski, TGS Systems
What is Prograph CPX?
The Prograph language in a professional development environment, tuned for
corporate application building. It supports multi-file projects with a rich
application building class library.
Version Number?
1.0
What are the key features of CPX vs 2.5?
o A project structure, supporting multiple files, which can be shared among
different projects.
o A very rich class library (the ABCs, Application Building Classes),
comparable in functionality to TCL or MacApp.
o A set of extensible object editors (the ABEs, Application Building
Editors), for dialog-driven or click 'n drag building of menus, windows,
documents, etc. These let you build large parts of your application, including
some of their behavior, with little or no programming.
o Support for callbacks — Prograph methods can now be called by Toolbox or
other C or Pascal routines.
o Much enhanced help and info, which communicates with Think Reference™ if
you have that on your machine (i.e., click on the name of a Toolbox call, hit
the Lookup button, and CPX will launch Think Reference and locate the info on
that call!).
o Numerous interface and environmental improvements (icon and list views,
unified Cut/Copy/Paste, object deletion via the delete key, etc.).
o New tutorial manual, and extensive User Guide and class library reference.
Hardware Requirements
Any Macintosh with a 68020 CPU or better, and enough RAM memory to permit a 7
megabyte partition. Prograph CPX and the ABCs/ABEs will actually load in as
little as 6 megabytes RAM, but for any serious work you should allow 7
megabytes.
NOTE: applications produced with CPX will run on any Macintosh, from the
Classic upwards. The size of the partition required will depend on the
application.
The CPX software and examples as shipped de-compress to 14 megabytes of disk
space. Allowing 20 megabytes on disk for CPX development is probably a good
idea.
Software Requirements
Macintosh System 6 or System 7.
Compiled Code Size
Minimum size of an application using the ABCs is 150K (in 2.5 it was 186K).
The CPX optimizing compiler strips out unused classes and methods. The size of
generated code is smaller, and grows less quickly, than it did with 2.5.
Code Speed
Significant speed improvements have been made both to the CPX interpreter and
to the optimizing compiler (which builds your final stand-alone application).
Depending on the nature of your code, you will find speed increases of up to 7
times.
Printed Documentation
New Tutorial, plus User Guide, ABCs Reference, Extensions Reference and
Migration Procedures.
Is Think Reference bundled with CPX?
No.
Shipping Date
Approximately end of September. If you order now, TGS Systems will bill or
invoice you 4 weeks prior to shipment.
Will 2.5 Extension Products work with CPX?
Yes, the C Interface, Pascal Interface, Comm Toolbox, SQL Interface/DAL and
ORACLE Interface all work. Even the Visual Effects Manager will work with a
bit of tweaking (it was designed to work with a 2.5 Canvas class, which no
longer exists in CPX). However, the examples provided on the Extensions disks
were written with 2.5 System Classes, and won't run in CPX.
Prices/Ship Dates for CPX Versions of Extension Products
Not available yet.
Educational Pricing
2.5 will continue to be sold into the education market until a CPX equivalent
(i.e., smaller, less expensive version of CPX 1.0 aimed at students and people
learning the language) is available.
Is CPX more difficult to learn/use than 2.5?
Remains to be seen, but probably is easier. The CPX environment is cleaner and
more intuitive that 2.5's (list as well as iconic views in most windows,
unified cut/copy/paste for text and for objects, deletion via delete key,
better navigation aids, visible flags on breakpointed operations, click-hold
on executed roots or opers to view data on them, behavior editors for
specifying how objects respond to events, etc), but on the other hand is
larger and more complex (dozens of sections, much bigger set of classes), with
a correspondingly longer learning curve. On the other side of the learning
curve is far greater ease of development.
Training
CPX training is being currently being conducted at several companies,
providing a testing ground for courses that will be available starting in
October.
Third party books
Dan Shafer's "The Power of Prograph" should be out by November or December.
Several other books are in planning stages.
Textbook
Kevin Carver and Scott Steinman's "Introduction to Visual Object-Oriented
Programming in Prograph" is being revised for CPX, and will then be published.
User Groups
Bay Area Prographers Users Group has well-attended monthly meetings (up to a
hundred people) (contact shafer@well.sf.ca.us or davec@netcom.com). A
NorthEast Area group is being formed by Michael Flickman
(flickman1@applelink.apple.com).
Newsletter
Visual News, published by Visual Programming Inc (VPI), 2025 Marconi Ave.,
Sacramento, CA 95821, (916) 646-4227. Internet: patrick@vpinc.com. $24 for 1
year (12 issues) Premiere issue has six pages chock full of info on CPX, 2.5
database issues, etc.
Can you directly integrate C or Pascal code into CPX?
The "Not An Upgrade" letter said "Full compatibility with Think and MPW C and
Pascal libraries", leaving the impression with some people that the C and
Pascal Interface extension products are no longer necessary. This is not the
case — the C and Pascal Interfaces are necessary in order to make calls into C
and Pascal libraries.
Can I upgrade my Prograph 2.5 app to CPX?
There is a source code translator that is included with the CPX package which
lets you move 2.5 code into the CPX environment (i.e., it lets CPX read 2.5
code). All your logic code written in Prograph 2.5 will work without
modification, except for some changes in a few primitives.
However, applications written with 2.5 System Classes will not run in CPX,
because CPX uses an entirely different class library (the ABCs). A $49
application framework translator, basically a System Classes "migrator", will
be available by October. It will include a set of 2.5 Compatibility Classes
which run inside the CPX environment, and a utility to morph your 2.5 System
Classes into these new CPX classes. Thus this “2.5-CPX Morph” class system
will let you run your 2.5 System Classes apps with in CPX.
However, although the 2.5 Compatibility Classes are written using the ABCs,
they are their own, class system, serving as an alternative to the ABCs. The
application framework translator is not a "2.5-ABC Morph", a hypothetical
beast which would turn your System Classes apps into ABCs apps. 2.5-CPX Morph
will let you run your 2.5 apps in the CPX environment, but that is different
from saying that it will make them fully compatible with the CPX ABCs.
Will source for ABCs be provided?
Not decided yet. Most likely scenario is yes.
Source for Object Editors?
Not decided yet. Most likely scenario is no, except for a few sample editors.
Database Engine
Unchanged except for bug fixes and inclusion of debug code.
Database Strategy
A key goal is to provide the high-level database tools (data-aware windows,
visual SQL code generator, report generator, etc) to fully enable database
development in CPX. TGS Systems is investigating server partners to be
part of a complete Client/Server solution, and also possibly to
replace the current Datafile Engine as a local database (where the server runs on the
same machine as the client). Support for DAM/DAL is being strengthened, and
Sybase will be added as a direct API.
Apple Events and AppleScript
High-level support for the core Apple Events, and low-level support for Apple
Events in general, are part of CPX and ABCs 1.0. By February 1994 we will
provide full high-level support, in the synchro-mesh fashion you're growing
accustomed to, for making your applications Scriptable, Recordable and
Attachable.
Interrupt-driven Callback routines?
No — you can't have those if memory will be moved, which it very well might be
inside your Prograph method.
How do the ABCs compare with TCL or MacApp?
According to Kurt Schmucker, who did a presentation on the topic at the
Prographers Conference in late August, comparable in extent and functionality
to TCL or MacApp. The object editors have no equivalent in TCL or MacApp; they
extend your functionality to a different dimension, letting you lay out both
appearances and behaviors on a high level.
What's a "Behavior Editor"?
A high level, dialog driven editor that lets you take a selected object (such
as a button) and describe what happens when an event (usually a click on it)
occurs. Most often the behavior includes a focus object (such as a scrolling
list in the same window), a method belonging to that object (e.g., /Attach R),
and, and "input specifiers" that let you pick the relevant objects that will
be inputs to the method (e.g., the scrolling list and the value of an edit
text box in the window). This is the familiar "Folks Database" example. Thus
with the Behavior Editor you can tell the button to respond to a click by
using the Scrolling List's /Attach R method, and that method should get
as inputs the Scrolling List itself and the text entered into the Edit Text
field, with the result that the text gets appended as the last item in the
scrolling list. In effect you've defined how some things will happen without
actually even coding in Prograph.
Moving apps written with ABCs to Windows?
If you use the ABCs, and don't make Mac-specific calls, you'll be portable
with minimum effort. TGS Systems is currently porting Prograph CPX to Windows
(NT and WIN32s), PowerPC (native-mode under System 7), and Unix (X-Windows and
Motif), in order to support cross-platform application development and
generation.